Extraer Transformar Carga 您所在的位置:网站首页 es etl Extraer Transformar Carga

Extraer Transformar Carga

2024-07-16 07:48| 来源: 网络整理| 查看: 265

Hola a todos O /

Foto de Suzanne D. Williams en Unsplash

Recientemente escribí sobre cómo obtener datos usando y llamando a API con Python .

Esta semana me basaré en los datos a los que pude acceder y recuperar utilizando la API de Exchange móvil de RO .

Explicaré cómo estoy usando Pandas paso a paso a lo largo del proceso Extract Transform Load (ETL).

Usted será capaz de: Explica que es ETL Realice el proceso ETL usando Pandas Santa, poring, rebotar, felizmente

Extract Transform Load, según tengo entendido, es el proceso mediante el cual se obtienen, (extraen) algunos datos, se limpian, se disputan (se transforman) y se colocan en una estructura de datos fácil de usar como un marco de datos (cargado).

A menudo, es posible que no sepa mucho sobre los datos con los que está trabajando. ETL es un primer paso esencial para obtener información sobre sus datos. Es común comenzar por comprender las características en sus datos y reconocer valores atípicos / valores perdidos / duplicados.

Puede ser muy útil con algunos datos, especialmente de datos a nivel de usuario, realizar funciones de grupo y agregadas para explorar características demográficas comunes como la ubicación y el género, etc.

ETL se puede utilizar para explorar sus datos en todas las capacidades anteriores para que esté listo para avanzar en el análisis de datos exploratorios.

Veamos algunos ejemplos de ETL en acción.

Foto de Tyler Nix en Unsplash Extraer

Los datos solicitados a través de la API no necesariamente vendrán en un formato al que estoy acostumbrado. Echemos un vistazo.

La impresión de r.text devuelve la carga útil de la solicitud

Parece que es una lista de diccionarios. Es difícil leer esto. Podemos limpiar esto usando JSON.

Notación de objetos de Java Script

Un formato de archivo estándar abierto y un formato de intercambio de datos que utiliza texto legible por humanos para almacenar y transmitir objetos de datos que consisten en pares atributo-valor y tipos de datos de matriz. Wikipedia

A continuación se muestra un decodificador JSON que está incorporado en la biblioteca de solicitudes de Python. Nos permitirá observar la carga útil de la solicitud (los datos devueltos) de una manera más agradable a la vista. En otras palabras, el siguiente código le dice al decodificador JSON que JSONify los datos.

j = r.json()

Importar pandas y JSON y Jsonificar la carga útil

así que inspeccionemos j ...

Oh! Mucho mejor. Gracias JSON

¿Ahora estamos buscando extraer estos datos en un marco de datos de Pandas? pero no será tan fácil. Primero, tenemos que navegar e indexar correctamente los diccionarios y listas anidados. Como podemos ver arriba, comienza como una lista. Veamos el primer elemento de la lista indexándolo con [0]:

Referencia para indexar los datos correctamente

Usando la indexación correcta, podemos pedirle a los pandas que creen un marco de datos del diccionario que queremos dentro de esta lista:

¿Cómo se ve?

Primer marco de datos de los datos de API solicitados. Hurra. Foto de Meagan Carsience en Unsplash Transferir

¿Habrá algún valor perdido? ¿Cómo se formatea la columna de tiempo? Investiguemos:

sin valores perdidos

Convertir la columna de tiempo en un formato de fecha y hora de pandas:

columna con formato de fecha y hora

También podríamos verificar si hay duplicados, pero sus datos de precios, por lo que puede haber duplicados y eso está bien.

Aquí hay un método pandas groupby () simple con una función media agregada para obtener información sobre el precio promedio entre servidores:

Una función agregada simple de Groupby que nos muestra los precios medios de este artículo por servidor Foto de DDP en Unsplash Carga

Hemos extraído y transformado los datos de alguna manera, pero ahora llegamos al aspecto de carga de ETL. Podemos cargar los nuevos datos y cualquier transformación adicional que hagamos en una base de datos o almacén de datos de destino.

Daré un ejemplo cargando estos datos en una base de datos SQL.

Python tiene un módulo SQL incorporado: sqlite 3 . El uso del método pandas DataFrame.to_sql ( ) cargará fácilmente su marco de datos en una tabla SQL.

Primero vamos a importar sqlite3 y crear una conexión a una base de datos. Al hacerlo, se manifestará automáticamente una base de datos. El objeto cur a continuación es una forma de obtener resultados y realizar un seguimiento de los resultados de las consultas que realiza en el lenguaje SQL.

import sqlite3 conn = sqlite3.connect('romexchange.db') cur = conn.cursor()

df1.to_sql(name='abyss_flowers', if_exists='replace', con=conn)

cur.execute("""SELECT * FROM abyss_flowers;""").fetchall() The Data exists in the database. Looks good.

ETL es un componente clave de Data Science: ETL significa Extract Transform Load. El proceso implica obtener información y limpiar los datos (eliminar valores atípicos, verificar duplicados y valores perdidos).

Los datos se pueden transformar en valores útiles utilizando las funciones apply (), tablas dinámicas (), Groupby (), etc. Por último, los datos modificados y transformados se pueden cargar en otro almacén de datos o base de datos. Pandas es una herramienta útil para hacer esto en Python y apoya el proceso haciéndolo más rápido, fácil y amigable para el usuario.

Alternativas a los pandas

Si no está interesado en usar Pandas para ETL, Hassan Syyid ofrece bastantes alternativas a Pandas para ETL en Python en su artículo de Medium :

Pyspark : útil para BIG DATA. Dask : más escalabilidad que los pandas pueden trabajar en grupos de datos. Modin - como Dask pero más automatizado menos configuración. PETL : diseñado con ETL en mente, es liviano y eficiente, por lo que carece de funciones de análisis de datos. Foto de Sid Balachandran en Unsplash Usar y llamar a una API con Python - Aleksandar Gakovic Estructuras de datos - Pandas Docs Herramientas de datos de Python para ETL - Hassan Syyid Notación de objetos de script Java - Wikipedia Un excelente artículo de ETL para Python - Diljeet Singh Sethi documentos sqlite3


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有